package com.itheima.mapper;

import com.itheima.pojo.Brand;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultMap;

import java.util.List;

public interface BrandMapper {

    //查询所有
    @ResultMap("brandResultMap")
    List<Brand> selectAll();


    //新增品牌
    void add(Brand brand);

    //单个删除
    void deleteSingle(int id);

    //批量删除
    void deleteByIds(@Param("ids") int[] ids);


    //分页查询功能之 查询总记录数
    int selectCountTotal();

    /**
     * 分页查询功能之 当前页面显示的数据
     * @param Begin 当前页面的页面数
     * @param Num 每页需要显示的条目数
     * @return
     */
    List<Brand> selectByPage(@Param("Begin") int Begin,@Param("Num") int Num);//查询当前页面显示的数据


    //条件查询功能之 查询总记录数
    int selectCountTotalByCondition(Brand brand);

    /**
     * 条件查询功能之 当前页面显示的数据
     * @param Begin 当前页面的页面数
     * @param Num 每页需要显示的条目数
     * @param brand 被封装进brand的查询条件
     * @return
     */
    List<Brand> selectByPageAndCondition(@Param("Begin") int Begin,@Param("Num") int Num,@Param("Brand") Brand brand);//查询当前页面显示的数据


}
